template<typename VAL>
class FieldBase< VAL >
The field is build on a Grid with square cells, because diffusion/reaction are then easier to implement. The Grid does not necessarily match the edges of the Space exactly, but instead extends outside, such as to cover the Space::inside entirely.
Each cell holds the amount of molecules. The local concentration can be obtained by dividing by the cell volume:
|
|
| FieldBase (FieldProp const *p) |
| | constructor
|
| |
|
| ~FieldBase () |
| | destructor
|
| |
|
void | setField () |
| | initialize with squares of size 'step'
|
| |
|
bool | hasField () const |
| | true if field was set
|
| |
|
real | cellWidth () const |
| | size of cell
|
| |
|
void | setConcentration (real conc) |
| | set all cells to value = volume * conc
|
| |
|
real | sumValues () |
| | total value
|
| |
|
void | step (FiberSet &, real) |
| | simulation step
|
| |
|
void | prepare () |
| | initialize diffusion matrix (only for FieldScalar)
|
| |
|
Tag | tag () const |
| | return unique character identifying the class
|
| |
|
const Property * | property () const |
| | return index of 'prop' in corresponding PropertyList
|
| |
| void | write (OutputWrapper &out) const |
| | write Field to file using VAL::write() More...
|
| |
|
void | read_data (InputWrapper &in, Simul &) |
| | read Field from file using VAL::read()
|
| |
|
void | read (InputWrapper &in, Simul &sim) |
| | read Field and checks that the Grid::step has not changed
|
| |
|
template<> |
| void | prepare () |
| |
| template<> |
| void | step (FiberSet &, real time_step) |
| |
|
template<> |
| void | prepare () |
| |
|
template<> |
| void | step (FiberSet &, real) |
| |
|
| Grid () |
| | constructor
|
| |
|
void | destroy () |
| | Free memory.
|
| |
|
virtual | ~Grid () |
| | Destructor.
|
| |
|
bool | periodic () |
| | true if boundary conditions are periodic
|
| |
|
void | periodic (const bool p) |
| | change boundary conditions
|
| |
|
void | setDimensions (const real infs[ORD], real sups[ORD], const int nbcells[ORD]) |
| | set the sizes of the real space dimensions
|
| |
|
bool | hasDimensions () |
| | true if setDimensions() was called
|
| |
|
unsigned int | nbCells () const |
| | total number of cells in the map
|
| |
|
unsigned int | nbCells (int d) const |
| | number of cells in dimensionality d
|
| |
|
unsigned int | dim () const |
| |
|
unsigned int | dim (int d) const |
| |
|
const real * | inf () const |
| | position of the inferior (left/bottom/etc) edge
|
| |
|
real | inf (int d) const |
| |
|
const real * | sup () const |
| | position of the superior (right/top/etc) edge
|
| |
|
real | sup (int d) const |
| |
|
const real * | delta () const |
| | the widths of a cell
|
| |
|
real | delta (int d) const |
| |
|
const real * | cellWidth () const |
| |
|
real | cellWidth (int d) const |
| |
|
real | position (int d, real c) const |
| |
|
real | cellVolume () const |
| | the volume of a cell
|
| |
|
real | diagonalLength () const |
| | the length of the diagonal of a cell = sqrt( sum(cWidth[d]^2) )
|
| |
|
real | minimumWidth (unsigned int min_size) const |
| | the smallest cell width, along dimensions that have more than min_size cells
|
| |
|
bool | inside (const int coord[ORD]) const |
| | checks if coordinates are inside the box
|
| |
|
bool | inside (const real w[ORD]) const |
| | checks if point is inside the box
|
| |
|
void | bringInside (int coord[ORD]) const |
| | periodic image
|
| |
|
void | setCoordinatesFromIndex (int coord[ORD], unsigned intindx) const |
| | conversion from index to coordinates
|
| |
|
void | setCoordinatesFromPosition (int coord[ORD], const real w[ORD], const real offset=0) const |
| | conversion from Position to coordinates (offset should be in [0,1])
|
| |
|
void | setPositionFromIndex (real w[ORD], unsigned intindx, real offset=0) const |
| | conversion from Index to Position (offset should be in [0,1])
|
| |
|
void | setPositionFromCoordinates (real w[ORD], const int coord[ORD], real offset=0) const |
| | conversion from Coordinates to Position (offset should be in [0,1])
|
| |
|
unsigned int | indexFromCoordinates (const int coord[ORD]) const |
| | conversion from coordinates to index
|
| |
|
unsigned int | index (const real w[ORD], const real offset=0) const |
| | returns the index of the cell whose center is closest to the point w[]
|
| |
|
void | createCells () |
| | allocate the array of cells
|
| |
|
bool | hasCells () const |
| | returns true if cells have been allocated
|
| |
|
void | deleteCells () |
| | deallocate array of cells
|
| |
|
void | clear () |
| | call function clear() for all cells
|
| |
|
VAL * | cell_addr () |
| | address of the cell array ( equivalent to &cell(0) )
|
| |
|
VAL & | cell (const unsigned intindx) const |
| | return cell at index 'indx'
|
| |
|
VAL & | cell (const real w[ORD]) const |
| | reference to CELL whose center is closest to w[]
|
| |
|
VAL & | cell (const int c[ORD]) const |
| | reference to CELL of coordinates c[]
|
| |
|
VAL & | operator[] (const unsigned intindx) const |
| | operator access to a cell by index
|
| |
|
VAL & | operator() (const real w[ORD]) const |
| | operator access to a cell by position
|
| |
|
VAL & | operator() (const int c[ORD]) const |
| | short-hand access to a cell by co-oordinates
|
| |
|
void | create1D (real min, real max, int nbcells) |
| | create a 1D-map
|
| |
|
VAL & | cell1D (const int x) const |
| | access to cell for ORD==1
|
| |
|
VAL & | cell2D (const int x, const int y) const |
| | access to cell for ORD==2
|
| |
|
VAL & | cell3D (const int x, const int y, const int z) const |
| | access to cell for ORD==3
|
| |
| void | createSquareRegions (const real radius) |
| | create regions which contains cells at a distance 'range' or less More...
|
| |
| void | createRoundRegions (const real radius) |
| | create regions which contains cells at a distance 'range' or less More...
|
| |
| void | createSideRegions (const int radius) |
| | regions that only contain cells of greater index. More...
|
| |
|
bool | hasRegions () const |
| | true is createRegions() or createRoundRegions() was called
|
| |
| int | getRegion (int *&offsets, const unsigned intindx) const |
| | set region array 'offsets' for cell index More...
|
| |
|
void | deleteRegions () |
| | free memory occupied by the regions
|
| |
|
VAL | interpolate (const real w[ORD]) const |
| | return linear interpolation of values stored at the center of each cell
|
| |
|
VAL | interpolate2D (const real w[ORD]) const |
| | return linear interpolation of values stored at the center of each cell, but only if ORD==2
|
| |
|
VAL | interpolate3D (const real w[ORD]) const |
| | return linear interpolation of values stored at the center of each cell, but only if ORD==3
|
| |
|
void | setValues (const VALval) |
| | set all cells to zero, if CELL supports this operation
|
| |
|
void | scaleValues (const VALval) |
| | set all cells to zero, if CELL supports this operation
|
| |
|
VAL | sumValues () const |
| | sum of all values, if CELL supports the addition
|
| |
|
VAL | maxValue () const |
| | maximum value over all cells
|
| |
|
VAL | minValue () const |
| | minimum value over all cells
|
| |
|
bool | hasNegativeValue () const |
| | true if any( cells[] < 0 )
|
| |
|
VAL | sumValuesInRegion (const unsigned intindx) const |
| | the sum of the values in the region around cell referred by 'indx'
|
| |
|
VAL | avgValueInRegion (const unsigned intindx) const |
| | the sum of the values in the region around cell referred by 'indx'
|
| |
|
VAL | maxValueInRegion (const unsigned intindx) const |
| | the maximum of the values in the region around cell referred by 'indx'
|
| |
|
void | printValues (FILE *file, const real offset) const |
| | write values to a file, with the position for each cell (file can be stdout)
|
| |
|
void | printValuesWithRange (FILE *file) const |
| | write values to a file, with the range for each cell (file can be stdout)
|
| |
|
| Object () |
| | constructor
|
| |
| std::string | reference () const |
| | concatenation of [ tag(), property()->index(), number() ] in plain ascii More...
|
| |
| void | writeReference (OutputWrapper &) const |
| | write a reference that identifies the Object uniquely More...
|
| |
| void | writeReference (OutputWrapper &, Tag tag) const |
| | write a reference, but using the provided Tag More...
|
| |
|
int | mark () const |
| | birth mark value
|
| |
|
void | mark (int m) |
| | set birth mark
|
| |
|
int | fleck () const |
| | fleck value (not stored in trajectory files)
|
| |
|
void | fleck (int f) const |
| | set fleck (the value is not stored in trajectory files)
|
| |
|
Object * | next () const |
| | extends Node::next(), with a cast to preserve type
|
| |
|
Object * | prev () const |
| | extends Node::prev(), with a cast to preserve type
|
| |
|
| Node () |
| | constructor set as unlinked
|
| |
| virtual | ~Node () |
| | destructor More...
|
| |
|
bool | linked () const |
| | true if Node is linked
|
| |
|
Node * | next () const |
| | the next Node in the list, or zero if this is last
|
| |
|
Node * | prev () const |
| | the previous Node in the list, or zero if this is first
|
| |
|
NodeList * | list () const |
| | the list where the object is linked, or zero
|
| |
|
ObjectSet * | objset () const |
| | return associated ObjectSet
|
| |
|
| Inventoried () |
| | initialize (name=0)
|
| |
|
| ~Inventoried () |
| | destructor
|
| |
|
void | number (Number n) |
| | change the serial number
|
| |
|
Number | number () const |
| | serial number : a integer identifier, unique within each class
|
| |
|
| Movable () |
| | constructor
|
| |
|
virtual | ~Movable () |
| | destructor
|
| |
|
virtual Vector | position () const |
| | return the position in space of the object
|
| |
| virtual void | setPosition (Vector const &) |
| | move object to specified position More...
|
| |
|
virtual bool | translatable () const |
| | true if object accepts translations (default=false)
|
| |
| virtual void | translate (Vector const &) |
| | move the object ( position += given vector ) More...
|
| |
|
virtual bool | rotatable () const |
| | true if object accepts rotations (default=false)
|
| |
| virtual void | rotate (Rotation const &) |
| | rotate the object around the origin of coordinates More...
|
| |
| virtual void | rotateP (Rotation const &) |
| | rotate the object around its current position More...
|
| |
| virtual void | foldPosition (Modulo const *) |
| | perform modulo for periodic boundary conditions More...
|
| |
|
|
static int | ffloor (real x) |
| | a fast floor function
|
| |
| static std::string | strReference (char, int, Number, int) |
| | build a string reference by concatenating (tag, property_index, number, mark) More...
|
| |
| static void | readReference (InputWrapper &, int &, Number &, int &, char pretag) |
| | read a reference (property_index, number, mark) from input More...
|
| |
|
static void | writeNullReference (OutputWrapper &) |
| | write a reference that does not refer to any Object
|
| |
| static Vector | readPrimitive (std::istream &, const Space *) |
| | read a position specified with primitives, such as 'circle 5', etc. More...
|
| |
| static Vector | readPosition (std::istream &, const Space *) |
| | read a position in space More...
|
| |
| static Vector | readDirection (std::istream &, const Vector &, const Space *) |
| | read an orientation, and return a normalized vector More...
|
| |
| static Rotation | readRotation (std::istream &, const Vector &, const Space *) |
| | read a rotation specified in is, at position pos More...
|
| |
|
VAL * | gCell |
| | The array of pointers to cells.
|
| |
|
unsigned int | nCells |
| | The number of cells in the map; size of cells[].
|
| |
|
unsigned int | gDim [ORD] |
| | The number of cells in each dimension of the real space.
|
| |
|
real | gInf [ORD] |
| | The position of the inferior edge (min) in each dimension.
|
| |
|
real | gSup [ORD] |
| | The position of the superior edge (max) in each dimension.
|
| |
|
real | cWidth [ORD] |
| | cWidth[d] = ( gSup[d] - inf[d] ) / gDim[d]
|
| |
|
real | cDelta [ORD] |
| | cDelta[d] = 1.0 / cWidth[d]
|
| |
|
real | cVolume |
| | The volume occupied by one cell.
|
| |
|
Node * | nNext |
| | the next Node in the list
|
| |
|
Node * | nPrev |
| | the previous Node in the list
|
| |
|
Number | nNumber |
| | object identifier, unique within the class defined by tag()
|
| |